load("@prysm//tools/go:def.bzl", "go_library")
load("@io_bazel_rules_go//go:def.bzl", "go_test")

go_library(
    name = "go_default_library",
    srcs = [
        "attestation.go",
        "block.go",
        "committee.go",
        "randao.go",
        "rewards_penalties.go",
        "shuffle.go",
        "signing_root.go",
        "slot_epoch.go",
        "validators.go",
    ],
    importpath = "github.com/prysmaticlabs/prysm/beacon-chain/core/helpers",
    visibility = [
        "//beacon-chain:__subpackages__",
        "//endtoend/evaluators:__pkg__",
        "//fuzz:__pkg__",
        "//shared/attestationutil:__pkg__",
        "//shared/benchutil/benchmark_files:__subpackages__",
        "//shared/depositutil:__pkg__",
        "//shared/interop:__pkg__",
        "//shared/keystore:__pkg__",
        "//shared/p2putils:__pkg__",
        "//shared/testutil:__pkg__",
        "//slasher:__subpackages__",
        "//tools:__subpackages__",
        "//validator:__subpackages__",
    ],
    deps = [
        "//beacon-chain/cache:go_default_library",
        "//beacon-chain/state:go_default_library",
        "//proto/beacon/p2p/v1:go_default_library",
        "//shared/bls:go_default_library",
        "//shared/bytesutil:go_default_library",
        "//shared/hashutil:go_default_library",
        "//shared/mathutil:go_default_library",
        "//shared/params:go_default_library",
        "//shared/sliceutil:go_default_library",
        "//shared/timeutils:go_default_library",
        "@com_github_ferranbt_fastssz//:go_default_library",
        "@com_github_pkg_errors//:go_default_library",
        "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
        "@com_github_prysmaticlabs_go_bitfield//:go_default_library",
        "@com_github_prysmaticlabs_go_ssz//:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    size = "medium",
    srcs = [
        "attestation_test.go",
        "block_test.go",
        "committee_test.go",
        "randao_test.go",
        "rewards_penalties_test.go",
        "shuffle_test.go",
        "signing_root_test.go",
        "slot_epoch_test.go",
        "validators_test.go",
    ],
    embed = [":go_default_library"],
    shard_count = 2,
    deps = [
        "//beacon-chain/cache:go_default_library",
        "//beacon-chain/state:go_default_library",
        "//proto/beacon/p2p/v1:go_default_library",
        "//shared/bls:go_default_library",
        "//shared/bytesutil:go_default_library",
        "//shared/hashutil:go_default_library",
        "//shared/params:go_default_library",
        "//shared/sliceutil:go_default_library",
        "//shared/testutil:go_default_library",
        "//shared/testutil/assert:go_default_library",
        "//shared/testutil/require:go_default_library",
        "//shared/timeutils:go_default_library",
        "@com_github_google_gofuzz//:go_default_library",
        "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
        "@com_github_prysmaticlabs_go_bitfield//:go_default_library",
    ],
)
